cmake_minimum_required(VERSION 3.20)
project(C__Learn)

set(CMAKE_CXX_STANDARD 14)

add_executable(C__Learn1 A指针/A指针使用.cpp)
add_executable(C__Learn2 A指针/B指针占用内存空间.cpp)
add_executable(C__Learn3 A指针/C空指针和野指针.cpp)
add_executable(C__Learn4 A指针/D_const修饰指针.cpp)
add_executable(C__Learn5 A指针/E指针和数组.cpp)

add_executable(C__Learn6 B结构体/A结构体.cpp)
add_executable(C__Learn7 B结构体/B结构体指针.cpp)
add_executable(C__Learn8 B结构体/C结构体嵌套.cpp)
add_executable(C__Learn9 B结构体/D结构体函数参数和const.cpp)

add_executable(C__Learn10 C内存4区/A全局区.cpp)
add_executable(C__Learn11 C内存4区/B栈区.cpp)
add_executable(C__Learn12 C内存4区/C堆区new.cpp)
add_executable(C__Learn13 D引用/A引用.cpp)
add_executable(C__Learn14 D引用/B常量引用.cpp)

add_executable(C__Learn15 E函数/A函数.cpp)

add_executable(C__Learn16 F类/A类.cpp)
add_executable(C__Learn17 F类/B深拷贝和浅拷贝.cpp)
add_executable(C__Learn18 F类/C静态成员双冒号.cpp)
add_executable(C__Learn19 F类/D成员变量和成员函数分开存储.cpp)
add_executable(C__Learn20 F类/Ethis.cpp)
add_executable(C__Learn21 F类/F_const常函数常对象.cpp)
add_executable(C__Learn21_1 F类/G_继承.cpp)
add_executable(C__Learn21_2 F类/H_多继承.cpp)
add_executable(C__Learn21_3 F类/I_虚继承.cpp)

add_executable(C__Learn22 G友元/A全局函数友元.cpp)
add_executable(C__Learn23 G友元/B类友元.cpp)

add_executable(C__Learn24 H运算符重载/A加号运算符重载.cpp)
add_executable(C__Learn25 H运算符重载/B左移运算符重载.cpp)
add_executable(C__Learn26 H运算符重载/C递增运算符重载.cpp)
add_executable(C__Learn27 H运算符重载/D赋值运算符重载.cpp)
add_executable(C__Learn28 H运算符重载/E关系运算符重载.cpp)
add_executable(C__Learn29 H运算符重载/F函数调用运算符重载_也叫仿函数.cpp)

add_executable(C__Learn30 I多态/A多态基本语法.cpp)
add_executable(C__Learn31 I多态/B纯虚函数和抽象类.cpp)
add_executable(C__Learn32 I多态/C虚析构和纯虚析构.cpp)

add_executable(C__Learn33 J文件操作/A文本文件.cpp)
add_executable(C__Learn34 J文件操作/B二进制文件.cpp)

add_executable(C__Learn35 K模板/A函数模板.cpp)
add_executable(C__Learn36 K模板/B普通函数与函数模板区别.cpp)
add_executable(C__Learn37 K模板/C类模板.cpp)
add_executable(C__Learn39 K模板/E类模板对象做函数参数.cpp)
add_executable(C__Learn40 K模板/F类模板与继承.cpp)
add_executable(C__Learn41 K模板/G类模板成员函数类外实现.cpp)
add_executable(C__Learn42 L类模板分文件/A类模板分文件编写.cpp)

add_executable(C__Learn43 K模板/H类模板与友元.cpp)

add_executable(C__Learn44 M_STL/A_vector.cpp)
add_executable(C__Learn45 M_STL/B_vector存放自定义数据类型.cpp)

add_executable(C__Learn46 N函数对象_谓词/A_函数对象.cpp)
add_executable(C__Learn47 N函数对象_谓词/B_一元谓词.cpp)
add_executable(C__Learn48 N函数对象_谓词/C_二元谓词.cpp)

add_executable(C__Learn49 O预处理指令/A_define.cpp )
add_executable(C__Learn50 O预处理指令/A_cesh.cpp
        O预处理指令/MyPushButton.cpp
        O预处理指令/MyPushButton.h
        O预处理指令/QObject.cpp
        O预处理指令/QObject.h
        O预处理指令/QWidget.cpp
        O预处理指令/QWidget.h)

add_executable(C__Learn51 Test.cpp)